Product development has become increasing complex. Take, as an example, development of a product for an automobile. In the past, the product would be drawn entirely by hand and developed by engineers who had to interface manually the part with other products in the automobile. An advance over that type of product development was computer aided design (CAD) tools, which allowed two-dimensional and three-dimensional product design and could include parts lists and even costs for the resultant product. A further advance in product development was a workflow system adapted for product design. For instance, product data management (PDM) systems have become popular, and these systems allow scheduling of resources, such as engineers, to design tasks, provide time schedules for design tasks, and provide for abstractions (e.g., CAD files) of products.
PDM systems typically manage artifacts during the product lifecycle. Artifacts are finite and identifiable pieces of digital information produced, consumed or transformed by product development processes. For instance, an artifact could be an abstraction, such as a CAD file, a digital representation of a process of simulating a product, or a record in a database of a design specification.
PDM systems include repositories that maintain artifacts under revision control. Revision control reduces the chance of accidental deletion of artifacts, controls modification and creation of artifacts, provides the ability to return to a previous revision, and provides a history of the lifecycle of a product.
Similar concepts exist in other domains as well. For instance, software configuration management (SCM) systems operate similar to PDM systems but for software products. Thus, SCM systems have artifacts, provide revision control, and provide repositories for artifacts.
While PDM and SCM are useful for their respective domains, new products being designed currently incorporate both mechanical (typically managed using PDM systems) components and software (typically managed using SCM systems) components. For instance, automobiles today typically have at least an engine control unit (ECU) controlling functions of the engine and generally have other embedded systems operating everything from automatic climate control to informational displays, to global positioning satellite (GPS) displays and interfaces.
The interface between PDM and SCM systems can be problematic, and it would therefore be desirable to provide techniques that minimize or eliminate these problems.